package com.fu.shop.configuration;


import com.fu.shop.interceptor.AuthInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @author 付龙江
 * @date 2022/1/27 22:10
 */
@Configuration
public class InterceptorConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        /**拦截个别,通过所有(也可以拦截所有放行个别"/**"),
         *拦截所有的cart和order的请求
         * 判断用户是否具有token
         * 如果有，说明用户经过sso服务器完成了一键登录
         * 如果没有，用户当前是未登录状态，需要把用户请求引导到单点登录服务器执行登录校验
         * 登陆成功，sso把用户信息返给订单、购物车服务器
         */
        registry.addInterceptor(authInterceptor())
                .addPathPatterns("/goods/**")
        .addPathPatterns("/adminIndex/**")
        .addPathPatterns("/orderManager/**")
        .addPathPatterns("/shop/**")
        .addPathPatterns("/userManager/**");
 //拦截个别,通过所有              .excludePathPatterns("/**/**");
    }

    public AuthInterceptor authInterceptor() {
        return new AuthInterceptor();
    }
}
